#
# Copyright © 2017 Arm Ltd. All rights reserved.
# SPDX-License-Identifier: MIT
#

list(APPEND armnnRefBackendWorkloads_sources
    Abs.cpp
    Abs.hpp
    ArgMinMax.cpp
    ArgMinMax.hpp
    Activation.cpp
    Activation.hpp
    ArgMinMax.cpp
    ArgMinMax.hpp
    BaseIterator.hpp
    BatchNormImpl.cpp
    BatchNormImpl.hpp
    BatchToSpaceNd.cpp
    BatchToSpaceNd.hpp
    Broadcast.cpp
    Broadcast.hpp
    ConvImpl.cpp
    ConvImpl.hpp
    Debug.cpp
    Debug.hpp
    Decoders.hpp
    DepthToSpace.cpp
    DepthToSpace.hpp
    DetectionPostProcess.cpp
    DetectionPostProcess.hpp
    Dequantize.cpp
    Dequantize.hpp
    ElementwiseFunction.cpp
    ElementwiseFunction.hpp
    Encoders.hpp
    FullyConnected.cpp
    FullyConnected.hpp
    Gather.cpp
    Gather.hpp
    InstanceNorm.cpp
    InstanceNorm.hpp
    LogSoftmax.cpp
    LogSoftmax.hpp
    LstmUtils.hpp
    LstmUtils.cpp
    Maximum.hpp
    Mean.cpp
    Mean.hpp
    Concatenate.hpp
    Concatenate.cpp
    Minimum.hpp
    Pad.cpp
    Pad.hpp
    Pooling2d.cpp
    Pooling2d.hpp
    PreluImpl.cpp
    PreluImpl.hpp
    RefAbsWorkload.cpp
    RefAbsWorkload.hpp
    RefActivationWorkload.cpp
    RefActivationWorkload.hpp
    RefArgMinMaxWorkload.cpp
    RefArgMinMaxWorkload.hpp
    RefBatchNormalizationWorkload.cpp
    RefBatchNormalizationWorkload.hpp
    RefBatchToSpaceNdWorkload.cpp
    RefBatchToSpaceNdWorkload.hpp
    RefComparisonWorkload.cpp
    RefComparisonWorkload.hpp
    RefConcatWorkload.cpp
    RefConcatWorkload.hpp
    RefConstantWorkload.cpp
    RefConstantWorkload.hpp
    RefConvertFp16ToFp32Workload.cpp
    RefConvertFp16ToFp32Workload.hpp
    RefConvertFp32ToFp16Workload.cpp
    RefConvertFp32ToFp16Workload.hpp
    RefConvolution2dWorkload.cpp
    RefConvolution2dWorkload.hpp
    RefElementwiseWorkload.cpp
    RefElementwiseWorkload.hpp
    RefDebugWorkload.cpp
    RefDebugWorkload.hpp
    RefDepthToSpaceWorkload.cpp
    RefDepthToSpaceWorkload.hpp
    RefDepthwiseConvolution2dWorkload.cpp
    RefDepthwiseConvolution2dWorkload.hpp
    RefDequantizeWorkload.cpp
    RefDequantizeWorkload.hpp
    RefDetectionPostProcessWorkload.cpp
    RefDetectionPostProcessWorkload.hpp
    RefFakeQuantizationFloat32Workload.cpp
    RefFakeQuantizationFloat32Workload.hpp
    RefFloorWorkload.cpp
    RefFloorWorkload.hpp
    RefFullyConnectedWorkload.cpp
    RefFullyConnectedWorkload.hpp
    RefGatherWorkload.cpp
    RefGatherWorkload.hpp
    RefInstanceNormalizationWorkload.cpp
    RefInstanceNormalizationWorkload.hpp
    RefL2NormalizationWorkload.cpp
    RefL2NormalizationWorkload.hpp
    RefLogSoftmaxWorkload.cpp
    RefLogSoftmaxWorkload.hpp
    RefLstmWorkload.cpp
    RefLstmWorkload.hpp
    RefMeanWorkload.cpp
    RefMeanWorkload.hpp
    RefNormalizationWorkload.cpp
    RefNormalizationWorkload.hpp
    RefPadWorkload.cpp
    RefPadWorkload.hpp
    RefPermuteWorkload.cpp
    RefPermuteWorkload.hpp
    RefPooling2dWorkload.cpp
    RefPooling2dWorkload.hpp
    RefPreluWorkload.cpp
    RefPreluWorkload.hpp
    RefQuantizeWorkload.cpp
    RefQuantizeWorkload.hpp
    RefReshapeWorkload.cpp
    RefReshapeWorkload.hpp
    RefResizeBilinearWorkload.cpp
    RefResizeBilinearWorkload.hpp
    RefResizeWorkload.cpp
    RefResizeWorkload.hpp
    RefRsqrtWorkload.cpp
    RefRsqrtWorkload.hpp
    RefSliceWorkload.cpp
    RefSliceWorkload.hpp
    RefSoftmaxWorkload.cpp
    RefSoftmaxWorkload.hpp
    RefSpaceToBatchNdWorkload.cpp
    RefSpaceToBatchNdWorkload.hpp
    RefSpaceToDepthWorkload.cpp
    RefSpaceToDepthWorkload.hpp
    RefSplitterWorkload.cpp
    RefSplitterWorkload.hpp
    RefStackWorkload.cpp
    RefStackWorkload.hpp
    RefStridedSliceWorkload.cpp
    RefStridedSliceWorkload.hpp
    RefTransposeConvolution2dWorkload.cpp
    RefTransposeConvolution2dWorkload.hpp
    RefWorkloads.hpp
    RefWorkloadUtils.hpp
    Resize.cpp
    Resize.hpp
    Rsqrt.cpp
    Rsqrt.hpp
    Slice.cpp
    Slice.hpp
    Softmax.cpp
    Softmax.hpp
    SpaceToBatchNd.hpp
    SpaceToBatchNd.cpp
    SpaceToDepth.hpp
    SpaceToDepth.cpp
    Splitter.hpp
    Splitter.cpp
    Stack.cpp
    Stack.hpp
    StridedSlice.hpp
    StridedSlice.cpp
    StringMapping.cpp
    StringMapping.hpp
    TensorBufferArrayView.hpp
    TransposeConvolution2d.cpp
    TransposeConvolution2d.hpp
)

add_library(armnnRefBackendWorkloads OBJECT ${armnnRefBackendWorkloads_sources})
target_include_directories(armnnRefBackendWorkloads PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
target_include_directories(armnnRefBackendWorkloads PRIVATE ${PROJECT_SOURCE_DIR}/src/armnnUtils)
target_include_directories(armnnRefBackendWorkloads PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
